package com.uls.zsw.service.impl;

import java.util.List;
import com.uls.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.uls.zsw.mapper.MeterInfoMapper;
import com.uls.zsw.domain.MeterInfo;
import com.uls.zsw.service.IMeterInfoService;

/**
 * 电表信息Service业务层处理
 * 
 * @author zsw
 * @date 2024-11-18
 */
@Service
public class MeterInfoServiceImpl implements IMeterInfoService 
{
    @Autowired
    private MeterInfoMapper meterInfoMapper;

    /**
     * 查询电表信息
     * 
     * @param meterId 电表信息主键
     * @return 电表信息
     */
    @Override
    public MeterInfo selectMeterInfoByMeterId(Long meterId)
    {
        return meterInfoMapper.selectMeterInfoByMeterId(meterId);
    }

    /**
     * 查询电表信息列表
     * 
     * @param meterInfo 电表信息
     * @return 电表信息
     */
    @Override
    public List<MeterInfo> selectMeterInfoList(MeterInfo meterInfo)
    {
        return meterInfoMapper.selectMeterInfoList(meterInfo);
    }

    /**
     * 新增电表信息
     * 
     * @param meterInfo 电表信息
     * @return 结果
     */
    @Override
    public int insertMeterInfo(MeterInfo meterInfo)
    {
        meterInfo.setCreateTime(DateUtils.getNowDate());
        return meterInfoMapper.insertMeterInfo(meterInfo);
    }

    /**
     * 修改电表信息
     * 
     * @param meterInfo 电表信息
     * @return 结果
     */
    @Override
    public int updateMeterInfo(MeterInfo meterInfo)
    {
        meterInfo.setUpdateTime(DateUtils.getNowDate());
        return meterInfoMapper.updateMeterInfo(meterInfo);
    }

    /**
     * 批量删除电表信息
     * 
     * @param meterIds 需要删除的电表信息主键
     * @return 结果
     */
    @Override
    public int deleteMeterInfoByMeterIds(Long[] meterIds)
    {
        return meterInfoMapper.deleteMeterInfoByMeterIds(meterIds);
    }

    /**
     * 删除电表信息信息
     * 
     * @param meterId 电表信息主键
     * @return 结果
     */
    @Override
    public int deleteMeterInfoByMeterId(Long meterId)
    {
        return meterInfoMapper.deleteMeterInfoByMeterId(meterId);
    }

    @Override
    public List<String> selectAllMeterModel() {
        return meterInfoMapper.selectAllMeterModel();
    }

    @Override
    public Long getMIByMM(String MModel) {
        return meterInfoMapper.getMIByMM(MModel);
    }

    @Override
    public String getMMByMI(Long MId) {
        return meterInfoMapper.getMMByMI(MId);
    }
}
